<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 1 Symbol 数据类型
        // 可以理解为是一个容器，包裹以前声明的数据，代表唯一的，可以重复使用
        // 多次创建的symbol数据，即使内部的值一样，那么也不会相等
        // 创建 symbol 类型的属性，可以在[]使用Symbol函数打点声明
        const num = Symbol();
        const count = Symbol(100);
        const str = Symbol(100);

        // console.log(num);
        // console.log(typeof num);

        // 使用 Symbol 声明的数据都是唯一的
        // console.log(count == str);

        // 2. Symbol 数据作为属性
        var arr = [];
        const obj = {
            uname: '迪丽热巴',
            uname: '古力娜扎',

            // 使用 Symbol - 一般调用的话，或者执行什么语句需要放在[]中
            [Symbol('a')]: 100,
            [Symbol('a')]: 200,

            // 实现一个 iterator 的遍历器
            [Symbol.iterator]: function () {
                console.log(100);
            }
        }

        console.log(obj);

    </script>
</body>

</html>